package com.sxkj.gis.wms.getmap.service;

import java.io.ByteArrayOutputStream;
import java.io.IOException;

import javax.servlet.http.HttpSession;

import org.opengis.referencing.FactoryException;
import org.opengis.referencing.NoSuchAuthorityCodeException;

import com.sxkj.gis.wms.bean.UrlBean;
import com.sxkj.gis.wms.bean.WmsParams;

public interface WmsGetMapService {
	/**
	 * 通过请求参数，返回图片输出流
	 * @param url：实体类
	 * @param getMapParams：页面请求的wms参数
	 * @return
	 * @throws IOException 
	 * @throws FactoryException 
	 * @throws NoSuchAuthorityCodeException 
	 */
/*	ByteArrayOutputStream getMap(UrlBean url, WmsParams getMapParams,HttpSession session) throws NoSuchAuthorityCodeException, FactoryException, IOException;*/
	
	

	/**
	 * WMS-getMap-url.do
	 * WMS-getMap-SLD-BODY-LiteralMode.url.do(在 factory中有判断)
	 * WMS-getMap-SLD-BODY-LiteralMode-1.3.url.do(在 factory中有判断)
	 * @param url
	 * @param getMapParams
	 * @param session
	 * @return
	 * @throws NoSuchAuthorityCodeException
	 * @throws FactoryException
	 * @throws IOException
	 */
	ByteArrayOutputStream WMSgetMapurl(UrlBean url, WmsParams getMapParams, HttpSession session) throws NoSuchAuthorityCodeException, FactoryException, IOException;

	/**
	 * WMS-getMap-xml.do
	 * @param url
	 * @param getMapParams
	 * @param session
	 * @return
	 * @throws IOException 
	 * @throws FactoryException 
	 * @throws NoSuchAuthorityCodeException 
	 */
	ByteArrayOutputStream WMSgetMapxml(UrlBean url, WmsParams getMapParams, HttpSession session) throws NoSuchAuthorityCodeException, FactoryException, IOException;
	
	/**
	 * WMS-getMap-SLD-BODY-LiteralMode.url.do
	 * @param url
	 * @param getMapParams
	 * @param session
	 * @return
	 * @throws IOException 
	 * @throws FactoryException 
	 * @throws NoSuchAuthorityCodeException 
	 */
	ByteArrayOutputStream WMSgetMapSVG(UrlBean url, WmsParams getMapParams, HttpSession session) throws IOException, NoSuchAuthorityCodeException, FactoryException;
	
	

}
